【CSDN 编者按】在我看来,Go 语言简单易学、性能优良这两点就足够令我倾心。JetBrains Blog 近期发布了关于 Go 语言的调查报告,一起来瞧瞧报告都说了些啥……
在当今流行的编程语言中,Go 语言独树一帜,因为其简单易学、性能强劲且原生支持并发的特点,深受开发者的青睐。Go 语言在技术网站 Stack Overflow 上的关注度也在逐年上升:
近日,JetBrains Blog 针对 Go 语言开发者的做了一项调查报告,从报告中我们发现:全世界有 110 万专业开发者选择 Go 作为其主要开发语言,其中中国占比最高;
Go 语言份额持续增长,已成为专业开发者的前 10 大主要语言之一;
Go 语言使用场景中,36% 是 Web 服务,31% 是小型程序的开发;
越来越多的金融行业在接触 Go 语言,甚至有银行使用 Go 构建了整个系统。
调查结果显示,在全球范围内有 110 万专业开发者选择 Go 作为其主要开发语言。如果把以其他编程语言作为主要开发语言,同时也在使用 Go 的开发者计算在内,这一数字将高达 270 万。就分布情况而言, 来自亚洲的 Go 语言开发者数量最多,大约有 57 万。下图显示了使用 Go 作为主要语言的开发者所在国家的分布情况,中国的 Go 语言开发者占比最高,占比 16%。中国之所以排在首位,或是因为中国开发者总数非常多。像 PingCAP、腾讯和华为都有数万开发者,Go 语言能够支持并构建与微服务结合的内部工具、架构和后端服务,这一点很关键。而俄罗斯的 Go 语言社区也相当出色,Go 在那里深受欢迎是一件很自然的事。
自 2009 年推出以来,Go 语言一直在持续增长。根据调查,Go 语言已经成为 2020 年专业开发者的前 10 大主要语言之一,占据来 7% 的份额。在 JetBrains 《2020 开发者生态系统现状》报告中显示,有 16% 的 JavaScript 开发者计划迁移并转而采用 Go 语言。反观在 Go 开发群体中,没有采用/迁移其他编程语言的用户高达 59%,稳定性最强。与 PHP 相比,Go 的优势在于类型安全,因为 Go 是静态类型的语言,而 PHP 是动态的。这意味着由编译器将完成大部分工作,确保编写的代码将在运行时能够正常地编译和运行。与 C++ 相比,Go 的优势在于简单。Go 语言中,一切都很直观。Go 还有一个特点,就是在编写代码和运行时都具有很高的内置速度,Go 语言可以没有任何特殊优化的情况下获得 5-10 倍于平均编程语言的性能提升,这对企业而言是很关键的生产力优势。同时它简单,易于上手,并且很容易替换现有项目中的微服务。许多 IT 架构工具由 Go 构建而成,例如大型的 Kubernetes、Docker 和 Vault 等。尽管有许多公司在使用 Java,但这些公司也大都会有一个团队运行 Go 语言环境,特别是针对项目的修补和维护。这或许也是 Go 语言在逐步被更多的人所接受的一个原因,在公共基础架构和部署中使用得越多,Go 的使用增长就越快。因此,未来几年还会有越来越多的人开始使用 Go,其比例可能会达到总数的 15-20%。在调查中的“您计划在今后一年内采用或迁移到其他语言吗?如果有,是哪些语言?”这个问题里,有 13% 的受访者回答了 Go。
调查结果显示,Web 服务在 Go 语言开发中的占比达到了 36%。对于 Web 服务,首要任务是创建快速的 API 服务器,它们不一定需要框架,而使用 Go 语言可以快速启动和运行。在常用 Go 语言的应用领域中,针对第二大应用场景 Utilities(小程序)的开发上,Go 语言有不小的优势,它能轻松实现处理大量数据的快速应用、小型实用程序应用或需要大量功能的一次性任务。其次,26% 的开发者表示经常在 IT 架构中使用 Go。采用 Docker 和 K8s 的人越多,使用 Go 的人就越多,因为它们都是用 Go 编写的。任何类型的 DevOps 工作都可以从 Go 中受益,因为 Go 提供了类型安全和更快的速度。使用 Go 语言与云服务的进行结合也非常容易——Google、 Amazon 以及 Azure 等都有很好的 SDK。当未来泛型到来之后,“Libraries / Frameworks” 类的份额还会有一定提升。
根据调查,使用 Go 语言的开发者主要从事 IT 服务和金融科技,其次是云计算平台和其它行业。IT 服务排第一理所应当,而越来越多的金融行业也在接触 Go 语言。现在已经有相当数量的银行已经采用或正在使用 Go 语言开发的基础架构,英国的 Monzo 银行使用 Go 构建了整个系统。云计算平台排第三也很合理,因为它们很多应用程序都是以 Go 编写的。移动开发排第五是在人意料之外的,要知道 Go 并没有良好的移动开发的历史。还有几个行业的 Go 语言使用率预见在短期内不会出现增长,例如基于机器学习的领域,那是 Python 的强项。Go 语言的机器学习也在朝着更普及、更优良的方向前进,但至少还要再过几年才能真正看到成果。
Go 语言开发者最喜爱的软件包管理器是 Go Modules,调查显示,其采用率从 2019 年的 41% 上升至 2020 的 82%。在某种程度上,这已经没有疑问了,因为 Go Modules 已经被设置为标准默认模型,并且 Go 团队也想弃用 GOPATH,甚至其它的都可能会被淘汰。自 2018 年以来,Gorilla / Mux 和标准库始终是最常用的 Go 路由器。标准库之所以如此受欢迎,可能是因为无论在 Reddit、Slack 还是其他地方,人们通常都会建议坚持使用标准库,不到万不得已不会换用其他东西。Gorilla / Mux 因为在标准库的基础上更加抽象,且性能不会受太多影响,它使编写服务器更容易,也是最接近标准库的一个。根据调查,自 2018 年以来,Gin 的使用量几乎翻了一番,而其他 Web 框架基本保持稳定。Gin 在 Web 上如此受欢迎,可能因为它是一个快速框架,得到了很好的推荐,同时也是最古老的框架之一,所以有很多现成的文档,很多用户都在使用和推荐它。使用内置测试的开发者比例从 2018 年的 64% 下降到 2020 年的 44%,而其他测试框架的使用量略有增长。内置测试占比很高,是因为 Go 标准库有一个非常好的开箱即用的测试库,它的下降可能是因为越来越多的人转移自其他语言,比如 PHP,他们更倾向于重复他们已有的测试习惯。
使用 Go 语言的开发者数量相比 C++ 和 Java 等传统语言少,有 38% 的开发者了解 Java,19.3% 的开发者了解 C++,仅有 4.6% 的开发者知道 Go。但 Go 语言的使用者多年来始终在持续增长,Stack Overflow 2020 调查显示,开发者最希望学习的编程语言里 Go 语言位列前三。Hacker Rank 的调查显示,Go 连续 3 年荣登开发人员最想要学习的语言第一名。于此同时,Go 语言开发者的薪资也水涨船高。据职友集统计,中国 Go 语言开发工程师的平均月工资为 21.8k 。从全球范围来看,Go 语言的开发者的薪酬也是位列前茅,结合其并不高的声量和使用率,可以说是「闷声赚大钱」了。2021 年, Go 语言将可预见的继续稳步爬升,CSDN 也持续关注 Go 语言的发展趋势,不久前重磅推出的《 IT 人才成长路线图》,其中就包含 Go 语言初阶-中阶-高阶发展路线图及免费学习资源,方便读者根据自身情况,对照参考学习,共同开源完善路线图。https://dev-roadmap.gitcode.host/- https://insights.stackoverflow.com/trends?tags=go
- https://blog.jetbrains.com/go/2021/02/03/the-state-of-go/
- https://www.jobui.com/salary/quanguo-golangkaifagongchengshi/
- https://hired.com/page/state-of-salaries
☞碾压专业机构,27岁华裔小伙推出美国最准新冠预测模型